package com.teamwork.ZuccEcho.Entity;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;
import java.util.List;

////问题
//@Entity
//@Table(name = "Question", schema = "", catalog = "")
//public class Question {
//    private long qId;//题目id
////    private long mId;//该题目所属的模板id（当然一个题目可以被多个模板使用）
//    private int qType;//题目类型（单选题，多选题，填空题，比重题）
//    private String qName;//题目的问题
//    private boolean isRequired;//是否必填
//    private List<ChoiceOptions> option;//题目是选择题时题目的选项
//    private String qContent;//题目是填空题/比重题时的内容
//
//    @Id
//    @Column(name = "qId")
//    @GeneratedValue(strategy = GenerationType.IDENTITY)
//    public long getqId() {
//        return qId;
//    }
//
//    public void setqId(long qId) {
//        this.qId = qId;
//    }
//
//    @Basic
//    @Column(name = "qType")
//    public int getqType() {
//        return qType;
//    }
//
//    public void setqType(int qType) {
//        this.qType = qType;
//    }
//
//    @Basic
//    @Column(name = "qName")
//    public String getqName() {
//        return qName;
//    }
//
//    public void setqName(String qName) {
//        this.qName = qName;
//    }
//
//    @Basic
//    @Column(name = "isRequired")
//    public boolean isRequired() {
//        return isRequired;
//    }
//
//    public void setRequired(boolean required) {
//        isRequired = required;
//    }
//
//    @Basic
//    @Column(name = "qContent")
//    public String getqContent() {
//        return qContent;
//    }
//
//    public void setqContent(String qContent) {
//        this.qContent = qContent;
//    }
//
//    @Override
//    public boolean equals(Object o) {
//        if (this == o) return true;
//        if (o == null || getClass() != o.getClass()) return false;
//        Question that = (Question) o;
//        return qId == that.qId &&
//                Objects.equals(qType, that.qType) &&
//                Objects.equals(qName, that.qName) &&
//                Objects.equals(isRequired, that.isRequired) &&
//                Objects.equals(qContent, that.qContent);
//    }
//
//    @Override
//    public int hashCode() {
//        return Objects.hash(qId, qType, qName, isRequired, qContent);
//    }
//}

//问卷的问题
@Entity
//@Data
@Setter
@Getter
public class Qnquestion {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long qnq_id;//题目id
    @Column(nullable = true)//允许为null
    private int qnq_type;//题目类型（单选题，多选题，填空题，比重题）
    private String qnq_name;//题目的问题
    @Column(nullable = true)//允许为null
    private boolean qnq_isrequired;//是否必填
    private String qnq_content;

    @ManyToOne
    @JoinColumn(name="qn_id",nullable=false)//在子表中的外键名
    private Questionnaire questionnaire;//问卷

//    @OneToMany()
    @OneToMany(mappedBy="qnquestion")
//    @JoinColumn(name="qnq_id")//在子表中的外键名
    private List<Qnoptions> qnoptionsList;

    @Override
    public String toString() {
        return "Qnquestion{" +
                "qnq_id=" + qnq_id +
                ", qnq_type=" + qnq_type +
                ", qnq_name='" + qnq_name + '\'' +
                ", qnq_isrequired=" + qnq_isrequired +
                ", qnq_content='" + qnq_content + '\'' +
                ", qnoptionsList=" + qnoptionsList +
                '}';
    }
}